package com.mccken.eshop.common.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum CommonErrorCodeEnum implements BaseErrorCodeEnum {
	
	// ============== 系统级别未知异常 ==================

	/**
	 * 系统未知异常
	 */
	SYSTEM_UNKNOWN_ERROR("-1", "系统未知错误"),

	// ============== 客户端异常 ==================

	/**
	 * 客户端HTTP请求方法错误
	 */
	CLIENT_HTTP_METHOD_ERROR("1001","客户端http请求方法错误"),

	/**
	 * 客户端 request body参数错误
	 * 主要是未能通过Hibernate validator校验的异常处理
	 */
	CLIENT_REQUEST_BODY_CHECK_ERROR("1002", "客户端请求体参数校验不通过"),

	/**
	 * 客户端@RequestParam参数校验不通过 <p>
	 * 主要未能通过Hibernate validator校验的异常处理
	 */
	CLIENT_REQUEST_PARAM_CHECK_ERROR("1005", "客户端请求参数校验不通过"),


	// ============== 服务端异常 ==================

	/**
	 * 通用的业务方法入参检查错误
	 */
	SERVER_ILLEGAL_ARGUMENT_ERROR("2001", "业务方法参数检查不通过")
	
	
	;
	
	private String errorCode;
	private String errorMsg;
}
